Declare Function LocalViewer Lib "visualib.dll" (ByVal status&) As Integer
Declare Function DepthBuffer Lib "visualib.dll" (ByVal status&) As Integer
Declare Function TwoSideShading Lib "visualib.dll" (ByVal status&) As Integer
Declare Function BackFaceRemoval Lib "visualib.dll" (ByVal status&) As Integer
Declare Function PolygonDirection Lib "visualib.dll" (ByVal status&) As Integer
Declare Function ShadingMethod Lib "visualib.dll" (ByVal status&) As Integer
Declare Function ShadingModel Lib "visualib.dll" (ByVal status&) As Integer
Declare Function SetRGBPalette Lib "visualib.dll" () As Integer
'shading primitive functions
Declare Function ShadeFacet Lib "visualib.dll" Alias "_ShadeFacet" (ByVal hdc%, normal As Any, ByVal typ%, vertex As Any, ByVal count%, param As Any) As Integer
Declare Function ShadePolygon Lib "visualib.dll" Alias "_ShadePolygon" (ByVal hdc%, normal As Any, ByVal typ%, pts As Any, ByVal count%) As Integer
Declare Function ShadePolyPolygon Lib "visualib.dll" Alias "_ShadePolyPolygon" (ByVal hdc%, normal As Any, ByVal typ%, vertex As Any, pcount As Any, ByVal count%) As Integer
Declare Function ShadePolyFacet Lib "visualib.dll" (ByVal hdc%, polyfacet As Any) As Integer
Declare Function ShadingPreview Lib "visualib.dll" (ByVal hdc%, rect As Any, ByVal r#, ByVal d#) As Integer
' programmable shader functions
Declare Sub GetPixelPosition Lib "visualib.dll" (x%, y%)
Declare Sub GetPixelViewNormal Lib "visualib.dll" (normal As Any)
Declare Sub GetPixelWorldNormal Lib "visualib.dll" (normal As Any)
Declare Sub GetPixelObjectNormal Lib "visualib.dll" (normal As Any)
Declare Sub GetPixelViewCoordinate Lib "visualib.dll" (coord As Any)
Declare Sub GetPixelWorldCoordinate Lib "visualib.dll" (coord As Any)
Declare Sub GetPixelObjectCoordinate Lib "visualib.dll" (coord As Any)
Declare Sub GetPixelViewCameraAxis Lib "visualib.dll" (vaxis As Any)
Declare Sub GetPixelWorldCameraAxis Lib "visualib.dll" (vaxis As Any)
Declare Sub GetPixelObjectCameraAxis Lib "visualib.dll" (vaxis As Any)
Declare Function SolidTexture Lib "visualib.dll" (ByVal typ%) As Integer
'Image Mapping and Printing Functions
Global Const VL_FLUSHTOP = 1
Global Const VL_FLUSHBOTTOM = 2
Global Const VL_FLUSHLEFT = 4
Global Const VL_FLUSHRIGHT = 8
Global Const VL_HORZFIT = &H10
Global Const VL_VERTFIT = &H20
Global Const VL_ALLFIT = &H30
Global Const VL_HORZCENTER = &H40
Global Const VL_VERTCENTER = &H80
Global Const VL_HORZSCALED = &H100
Global Const VL_VERTSCALED = &H200
Global Const VL_BESTFIT = &H400
Global Const VL_USE31APIS = &H800
Global Const VL_MILLIMETER = &H1000
Global Const VL_CENTIMETER = &H2000
Global Const VL_MARKCORNER = &H4000
Global Const VL_MARKPAGE = &H8000
Declare Function ReadDIBFile Lib "visualib.dll" (ByVal fname$, hdib As Any) As Integer
Declare Function ScreenToDIB Lib "visualib.dll" (rect As Any) As Integer
Declare Function WriteDIBFile Lib "visualib.dll" (ByVal fname$, ByVal hdib%) As Integer
Declare Function SetPrintRect Lib "visualib.dll" (ByVal hdc%, rect As Any, ByVal mode%, ByVal x#, ByVal y#, ByVal w#, ByVal h#, ByVal bw%, ByVal bh%) As Integer
Declare Sub GetScreenRect Lib "visualib.dll" (ByVal hwnd%, ByVal withframe%, rect As Any)
Declare Function PrintImage Lib "visualib.dll" (ByVal hdib%, ByVal mode%, ByVal x#, ByVal y#, ByVal w#, ByVal h#) As Integer
Declare Function PrintDrawing Lib "visualib.dll" (draw As Any, ByVal mode%, ByVal x#, ByVal y#, ByVal w#, ByVal h#) As Integer
Declare Function ImageMap2D Lib "visualib.dll" (ByVal hdc%, ByVal hdib%, ByVal typ%, vertex As Any) As Integer
Declare Function ImageMap3D Lib "visualib.dll" (ByVal hdc%, ByVal hdib%, ByVal typ%, vertex As Any) As Integer
' text parameters
Global Const VL_TEXT_HEIGHT = 1
Global Const VL_TEXT_ASPECT = 2
Global Const VL_TEXT_THICKNESS = 4
Declare Function TextParameter Lib "visualib.dll" (ByVal typ%, ByVal param#) As Integer
Declare Function SelectFont Lib "visualib.dll" () As Integer
Declare Function setfont Lib "visualib.dll" (lplf As Any) As Integer
Declare Function Text2D Lib "visualib.dll" (ByVal hdc%, ByVal x#, ByVal y#, ByVal a#, ByVal text$) As Integer
Declare Function Text3D Lib "visualib.dll" (ByVal hdc%, ByVal x#, ByVal y#, ByVal a#, ByVal text$) As Integer
Declare Function SolidText Lib "visualib.dll" (ByVal hdc%, ByVal text$) As Integer
' 2D Curve Functions
Declare Sub QBezierCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any)
Declare Sub QBSplineCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
Declare Sub QNURBSCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%, knot As Any)
Declare Sub BezierCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any)
Declare Sub HermitCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any)
Declare Sub BSplineCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
Declare Sub NURBSCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%, knot As Any)
Declare Sub SplineInterp2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
Declare Sub BSplineCurveClosed2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
Declare Sub NURBSCurveClosed2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%, knot As Any)
Declare Sub CatmullRomSpline2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
'3D Curve Functions
Declare Sub QBezierCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any)
Declare Sub QBSplineCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
Declare Sub QNURBSCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%, knot As Any)
Declare Sub BezierCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any)
Declare Sub HermitCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any)
Declare Sub BSplineCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
Declare Sub NURBSCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%, knot As Any)
Declare Sub SplineInterp3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
Declare Sub BSplineCurveClosed3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
Declare Sub NURBSCurveClosed3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%, knot As Any)
Declare Sub CatmullRomSpline3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
Declare Sub Spring Lib "visualib.dll" (ByVal hdc%, ByVal n%, ByVal r#, ByVal h#)
Declare Function CircleSide Lib "visualib.dll" (ByVal side%) As Integer
Declare Function Tube Lib "visualib.dll" (ByVal hdc%, ByVal rtop#, ByVal rbot#, ByVal t#, ByVal h#) As Integer
Declare Function Sweep Lib "visualib.dll" (ByVal hdc%, transf As Any, ByVal nstep%, vertex As Any, normals As Any, ByVal npts%, ByVal mode%, snormal As Any) As Integer
Declare Function Revolution Lib "visualib.dll" (ByVal hdc%, vertex As Any, normal As Any, ByVal n%, ByVal a#, ByVal mode%, snormal As Any) As Integer
Declare Function Tetrahedron Lib "visualib.dll" (ByVal hdc%, ByVal r#) As Integer
Declare Function Octahedron Lib "visualib.dll" (ByVal hdc%, ByVal r#) As Integer
Declare Function Dodecahedron Lib "visualib.dll" (ByVal hdc%, ByVal r#) As Integer
Declare Function Icosahedron Lib "visualib.dll" (ByVal hdc%, ByVal r#) As Integer